package com.hxzy.service;

import com.github.pagehelper.PageInfo;
import com.hxzy.controller.admin.orders.req.OrdersReq;
import com.hxzy.controller.admin.orders.req.UpdateConsigneeReq;
import com.hxzy.controller.admin.orders.resp.OrderViewResp;
import com.hxzy.controller.admin.orders.resp.OrdersResp;
import com.hxzy.controller.admin.orders.resp.OrdersStatisticResp;
import com.hxzy.controller.mobile.order.req.OrderCreateReq;
import com.hxzy.entity.Orders;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author Administrator
* @description 针对表【orders(订单表)】的数据库操作Service
* @createDate 2023-06-28 16:38:44
*/
public interface OrdersService extends IService<Orders> {

    /**
     * 下订单
     * @param req
     * @return 返回订单编号
     */
    String createOrder(OrderCreateReq req);

    /**
     * 根据订单查询商家名称
     * @param orderNumber
     * @return
     */
    String searchByMerchandiserName(String orderNumber);

    /**
     * 分页查询
     * @param req
     * @return
     */
    PageInfo<OrdersResp> search(OrdersReq req);

    /**
     * 订单统计数据
     * @return
     */
    OrdersStatisticResp ordersStatistic();

    /**
     * 根据订单查询明细
     * @param orderId
     * @return
     */
    OrderViewResp findById(Long orderId);

    /**
     * 更改收货人地址
     * @param req
     * @return
     */
    boolean updateConsignee(UpdateConsigneeReq req);
}
